#ifndef  FIGHTER_LOUIS_HPP
# define FIGHTER_LOUIS_HPP

# include "player.hpp"

class FighterLouis : public Player
{
public:
    enum Cooldowns
    {
	CooldownSpliff    = 30,
	CooldownInsult    = 10,
	CooldownLongboard = 30,
	CooldownPatate    = 30
    };

    FighterLouis(Shiny::Applejack::World& w, Shiny::Applejack::Body& b, Shiny::Applejack::View*);

    void Victory(bool);
    void GetKicked(int damage, const Attack::Effects&);
    void SpellFirst(sf::Event);
    void SpellSecond(sf::Event);
    void SpellThird(sf::Event);
    void SpellUltimate(sf::Event);
    void Run(void);
    void DisplaySpells();

    void EndPatate(unsigned int);

private:
    Attack    *_attackPatateLeft, *_attackPatateRight;

    Observatory::ObserverId _observerPatateAnim;

    bool      _isSmoking;
    bool      _doingPatateLeft, _doingPatateRight;

    sf::Clock _cooldownSpliff;
    sf::Clock _cooldownInsult;
    sf::Clock _cooldownLongboard;
    sf::Clock _cooldownPatate;
    sf::Clock _finishingPatate;

    Shiny::Sound _soundVictory;
};

#endif
